﻿using RockBus.DataContracts;

namespace RockBus.Composition
{
    public static class InstanceNames
    {
        // ConfigurationRepository
        public const string PersistencePublisherCacheItem = "PersistencePublisherCacheItem";

        public const string PersistenceSubscriberCacheItem = "PersistenceSubscriberCacheItem";

        // ConfigurationManager
        public const string PublisherCacheItem = "PublisherCacheItem";

        public const string SubscriberCacheItem = "SubscriberCacheItem";
        public const string ReceivePortEvaluator = "ReceivePortEvaluator";
        public const string TopicEvaluator = "TopicEvaluator";
        public const string SubscriptionEvaluator = "SubscriptionEvaluator";

        // MessageProcessors
        public const string CorrelationManager = "CorrelationManager";

        public const string EvaluationManager = "EvaluationManager";
        public const string PersistenceSendPort = "PersistenceSendPort";
        public const string DeliverySendPort = "DeliverySendPort";
        public const string ErrorManager = "ErrorManager";
        public const string ReceivePort = "ReceivePort";

        // Transport
        public static readonly string WcfTransportFactory = TransportTypeEnum.WcfTransport.ToString();

        public static readonly string ServiceEndpointFactory = "ServiceEndpointFactory";
        public const string DbMessageTransport = "DbMessageTransport";

        // Publisher
        public const string DbMessagePublisher = "DbMessagePublisher";

        public const string FileMessagePublisher = "FileMessagePublisher";

        // Initializations
        public const string ThreadPoolInitialization = "ThreadPoolInitialization";

        public const string TaskSchedulerInitialization = "TaskSchedulerInitialization";
        public const string PublisherManagerInitialization = "PublisherManagerInitialization";
        public const string ServiceHostManagerInitialization = "ServiceHostManagerInitialization";
        public const string CollectorManagerInitialization = "CollectorManagerInitialization";
        public const string ConfigurationInitialization = "ConfigurationInitialization";
        public const string ServiceHostInitialization = "ServiceHostInitialization";
        public const string OwinHostingInitialization = "OwinHostingInitialization";
    }
}